home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / LaTeX / tools / varioref.sty < prev    next >
Text File  |  1997-03-07  |  21KB  |  506 lines

  1. %%
  2. %% This is file `varioref.sty',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% varioref.dtx  (with options: `package')
  8. %% 
  9. %% IMPORTANT NOTICE:
  10. %% 
  11. %% This file is a generated file from the sources of the `tools' bundle
  12. %% in the LaTeX2e distribution.
  13. %% 
  14. %% For the copyright notice see the source file(s).
  15. %% 
  16. %% You are not allowed to modify this file.
  17. %% 
  18. %% You are allowed to distribute this file if and only if
  19. %% it is distributed with the corresponding source files in
  20. %% the `tools' bundle.
  21. %% 
  22. %% For the copying and distribution conditions of the source files,
  23. %% see the file readme.txt distributed with the tools bundle.
  24. %% 
  25. %% Package varioref to use with LaTeX2e
  26. %% Copyright (C) 1992-1995  Frank Mittelbach, all rights reserved.
  27. \NeedsTeXFormat{LaTeX2e}[1995/05/16]
  28. \ProvidesPackage{varioref}
  29.     [1995/10/19 v1.1b package for extended references (FMi)]
  30. %% \CharacterTable
  31. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  32. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  33. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  34. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  35. %%   Dollar        \$     Percent       \%     Ampersand     \&
  36. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  37. %%   Asterisk      \*     Plus          \+     Comma         \,
  38. %%   Minus         \-     Point         \.     Solidus       \/
  39. %%   Colon         \:     Semicolon     \;     Less than     \<
  40. %%   Equals        \=     Greater than  \>     Question mark \?
  41. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  42. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  43. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  44. %%   Right brace   \}     Tilde         \~}
  45. %%
  46. \def\vref@addto#1#2{%
  47.   #2%
  48.   \@temptokena{#2}%
  49.   \ifx#1\undefined
  50.      \edef#1{\the\@temptokena}%
  51.   \else
  52.      \toks@\expandafter{#1}%
  53.      \edef#1{\the\toks@\the\@temptokena}%
  54.   \fi
  55.   \@temptokena{}\toks@\@temptokena
  56. }
  57. \@onlypreamble\vref@addto
  58. \def\vref@excuse#1{%
  59.   \PackageWarningNoLine{varioref}{Sorry, language `#1'
  60.             not supported%
  61.             \MessageBreak
  62.             by in this version.
  63.             English strings used by default.
  64.             \MessageBreak
  65.             Please Modify \protect\reftext... commands manually.%
  66.             \MessageBreak\MessageBreak
  67.             If you can suggest translations for
  68.             this language,%
  69.             \MessageBreak
  70.             please mail your them
  71.             to the author of this package}}
  72. \@onlypreamble\vref@excuse
  73. \DeclareOption{american}
  74.   {\vref@addto\extrasamerican{%%
  75.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  76.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  77.                            page}%
  78.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  79.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  80.                            before}}%
  81.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  82.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  83.   }}
  84. \DeclareOption{austrian}
  85.   {\vref@excuse{austrian}%
  86.    \vref@addto\extrasaustrian{%
  87.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  88.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  89.                            page}%
  90.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  91.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  92.                            before}}%
  93.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  94.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  95.   }}
  96. \DeclareOption{brazil}
  97.   {\vref@addto\extrabrazil{%
  98.     \def\reftextfaceafter {na \reftextvario{p\'agina oposta}{pr\'oxima
  99.                            p\'agina}}%
  100.     \def\reftextfacebefore{na p\'agina \reftextvario{oposta}{anterior}}%
  101.     \def\reftextafter     {na \reftextvario{p\'agina seguinte}{pr\'oxima
  102.                            p\'agina}}%
  103.     \def\reftextbefore{na p\'agina \reftextvario{anterior}{precedente}}%
  104.     \def\reftextcurrent   {\reftextvario{nesta p\'agina}{na p\'agina
  105.                            corrente}}%
  106.     \def\reftextfaraway#1{na p\'agina~\pageref{#1}}%
  107.   }}
  108. \DeclareOption{breton}
  109.   {\vref@excuse{breton}%
  110.    \vref@addto\extrasbreton{%
  111.     \def\reftextfaceafter {war ar bajenn \reftextvario{a-dal}{da heul}}%
  112.     \def\reftextfacebefore{war ar bajenn \reftextvario{a-dal}{a-raok}}%
  113.     \def\reftextafter     {war ar bajenn da heul}%
  114.     \def\reftextbefore    {war ar bajenn a-raok}%
  115.     \def\reftextcurrent   {war ar \reftextvario{bajenn-ma\~n}%
  116.                                                {bajenn war-wel}}%
  117.     \def\reftextfaraway#1{war ar bajenn~\pageref{#1}}%
  118.   }}
  119. \DeclareOption{catalan}
  120.   {\vref@excuse{catalan}%
  121.    \vref@addto\extrascatalan{%
  122.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  123.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  124.                            page}%
  125.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  126.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  127.                            before}}%
  128.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  129.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  130.   }}
  131. \DeclareOption{croatian}
  132.   {\vref@excuse{croatian}%
  133.    \vref@addto\extrascroatian{%
  134.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  135.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  136.                            page}%
  137.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  138.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  139.                            before}}%
  140.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  141.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  142.   }}
  143. \DeclareOption{czech}
  144.   {\vref@excuse{czech}%
  145.    \vref@addto\extrasczech{%
  146.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  147.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  148.                            page}%
  149.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  150.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  151.                            before}}%
  152.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  153.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  154.   }}
  155. \DeclareOption{danish}
  156.   {\vref@addto\extrasdanish{%
  157.     \def\reftextfaceafter {p\aa{} \reftextvario{modst\aa ende}%
  158.                                                {n\ae ste} side}%
  159.     \def\reftextfacebefore{p\aa{} \reftextvario{modst\aa ende}%
  160.                                                {forrige} side}%
  161.     \def\reftextafter     {p\aa{} \reftextvario{den f\o lgende}%
  162.                                                {n\ae ste} side}%
  163.     \def\reftextbefore    {p\aa{} \reftextvario{forrige side}
  164.                                                {foreg\aa ende side}}%
  165.     \def\reftextcurrent   {p\aa{} denne side}%
  166.     \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
  167.   }}
  168. \DeclareOption{dutch}
  169.   {\vref@addto\extrasdutch{%
  170.     \def\refpagename{pagina}%
  171.     \def\reftextfaceafter {op de \reftextvario{rechter \refpagename}%
  172.                                           {\refpagename\ hiernaast}}%
  173.     \def\reftextfacebefore{op de \reftextvario{linker \refpagename}%
  174.                                          {\refpagename\ hiernaast}}%
  175.     \def\reftextafter     {op de \reftextvario{volgende \refpagename}%
  176.                                               {\refpagename\ hierna}}%
  177.     \def\reftextbefore    {op de \reftextvario{vorige \refpagename}%
  178.                                           {\refpagename\ hiervoor}}%
  179.     \def\reftextcurrent   {op deze \refpagename}%
  180.     \def\reftextfaraway#1{op \refpagename~\pageref{#1}}%
  181.   }}
  182. \DeclareOption{english}
  183.   {\vref@addto\extrasenglish{%
  184.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  185.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  186.                            page}%
  187.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  188.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  189.                            before}}%
  190.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  191.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  192.   }}
  193. \DeclareOption{esperanto}
  194.   {\vref@excuse{esperanto}%
  195.    \vref@addto\extrasesperanto{%
  196.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  197.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  198.                            page}%
  199.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  200.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  201.                            before}}%
  202.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  203.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  204.   }}
  205. \DeclareOption{finnish}
  206.   {\vref@addto\extrasfinnish{%
  207.     \def\reftextfaceafter {\reftextvario{viereisell\"a}%
  208.                                         {seuraavalla} sivulla}%
  209.     \def\reftextfacebefore{\reftextvario{viereisell\"a}%
  210.                                         {edellisell\"a} sivulla}%
  211.     \def\reftextafter     {seuraavalla sivulla}%
  212.     \def\reftextbefore    {edellisell\"a sivulla}%
  213.     \def\reftextcurrent   {t\"all\"a sivulla}%
  214.     \def\reftextfaraway#1{sivulla~\pageref{#1}}%
  215.   }}
  216. \DeclareOption{french}
  217.   {\vref@addto\extrasfrench{%
  218.     \def\reftextfaceafter {page \reftextvario{ci-contre}{suivante}}%
  219.     \def\reftextfacebefore{page \reftextvario{ci-contre}%
  220.                           {pr\'ec\'edente}}%
  221.     \def\reftextafter     {page suivante}%
  222.     \def\reftextbefore    {page pr\'ec\'edente}%
  223.     \def\reftextcurrent   {de la pr\'esente page}%
  224.     \def\reftextfaraway#1{page~\pageref{#1}}%
  225.   }}
  226. \DeclareOption{galician}
  227.   {\vref@excuse{galician}%
  228.    \vref@addto\extrasgalician{%
  229.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  230.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  231.                            page}%
  232.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  233.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  234.                            before}}%
  235.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  236.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  237.   }}
  238. \DeclareOption{german}
  239.   {\vref@addto\extrasgerman{%
  240.     \def\reftextfaceafter {auf der n\"achsten Seite}%
  241.     \def\reftextfacebefore{auf der vorherigen Seite}%
  242.     \let\reftextafter     \reftextfaceafter
  243.     \let\reftextbefore    \reftextfacebefore
  244.     \def\reftextcurrent   {auf dieser Seite}%
  245.     \def\reftextfaraway#1{auf Seite~\pageref{#1}}%
  246.   }}
  247. \DeclareOption{italian}
  248.   {\vref@excuse{italian}%
  249.    \vref@addto\extrasitalian{%
  250.     \def\reftextfaceafter {\reftextvario{a fronte}%
  251.                            {nella pagina successiva}}%
  252.     \def\reftextfacebefore{\reftextvario{a fronte}%
  253.                            {nella pagina precedente}}%
  254.     \def\reftextafter     {nella pagina \reftextvario{seguente}%
  255.                            {successiva}}%
  256.     \def\reftextbefore    {nella pagina precedente}%
  257.     \def\reftextcurrent   {in questa pagina}%
  258.     \def\reftextfaraway#1{a pagina~\pageref{#1}}%
  259.   }}
  260. \DeclareOption{magyar}
  261.   {\vref@excuse{magyar}%
  262.    \vref@addto\extrasmagyar{%
  263.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  264.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  265.                            page}%
  266.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  267.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  268.                            before}}%
  269.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  270.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  271.   }}
  272. \DeclareOption{norsk}
  273.   {\vref@addto\extrasnorsk{%
  274.     \def\reftextfaceafter {p\aa{} \reftextvario{motst\aa{}ende}{neste}
  275.                            side}%
  276.     \def\reftextfacebefore{p\aa{} \reftextvario{motst\aa{}ende}{forrige}
  277.                            side}%
  278.     \def\reftextafter     {p\aa{} \reftextvario{siden etter}%
  279.                                                {neste side}}%
  280.     \def\reftextbefore    {p\aa{} \reftextvario{siden foran}%
  281.                                                {forrige side}}%
  282.     \def\reftextcurrent   {p\aa{} denne siden}%
  283.     \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
  284.   }}
  285. \DeclareOption{nynorsk}
  286.   {\vref@addto\extrasnynorsk{%
  287.     \def\reftextfaceafter {p\aa{} den \reftextvario{motst\aa{}ande}%
  288.                                   {neste} sida}%
  289.     \def\reftextfacebefore{p\aa{} den \reftextvario{motst\aa{}ande}%
  290.                                   {f\o{}rre} sida}%
  291.     \def\reftextafter     {p\aa{} \reftextvario{sida etter}%
  292.                                                {den neste sida}}%
  293.     \def\reftextbefore    {p\aa{} \reftextvario{sida f\o{}r}%
  294.                                             {den f\o{}rre sida}}%
  295.     \def\reftextcurrent   {p\aa{} denne sida}%
  296.     \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
  297.   }}
  298. \DeclareOption{polish}
  299.   {\vref@excuse{polish}%
  300.    \vref@addto\extraspolish{%
  301.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  302.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  303.                            page}%
  304.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  305.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  306.                            before}}%
  307.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  308.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  309.   }}
  310. \DeclareOption{portuges}
  311.   {\vref@excuse{portuges}%
  312.    \vref@addto\extrasportuges{%
  313.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  314.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  315.                            page}%
  316.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  317.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  318.                            before}}%
  319.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  320.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  321.   }}
  322. \DeclareOption{romanian}
  323.   {\vref@excuse{romanian}%
  324.    \vref@addto\extrasromanian{%
  325.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  326.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  327.                            page}%
  328.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  329.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  330.                            before}}%
  331.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  332.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  333.   }}
  334. \DeclareOption{russian}
  335.   {\vref@excuse{russian}%
  336.    \vref@addto\extrasrussian{%
  337.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  338.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  339.                            page}%
  340.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  341.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  342.                            before}}%
  343.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  344.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  345.   }}
  346. \DeclareOption{slovak}
  347.   {\vref@excuse{slovak}%
  348.    \vref@addto\extrasslovak{%
  349.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  350.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  351.                            page}%
  352.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  353.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  354.                            before}}%
  355.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  356.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  357.   }}
  358. \DeclareOption{slovene}
  359.   {\vref@excuse{slovene}%
  360.    \vref@addto\extrasslovene{%
  361.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  362.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  363.                            page}%
  364.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  365.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  366.                            before}}%
  367.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  368.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  369.   }}
  370. \DeclareOption{spanish}
  371.   {\vref@addto\extrasspanish{%
  372.     \def\reftextfaceafter {en la p\'agina siguiente}%
  373.     \def\reftextfacebefore{en la p\'agina anterior}%
  374.     \let\reftextafter     \reftextfaceafter
  375.     \let\reftextbefore    \reftextfacebefore
  376.     \def\reftextcurrent   {en esta p\'agina}%
  377.     \def\reftextfaraway#1{en la p\'agina~\pageref{#1}}%
  378.   }}
  379. \DeclareOption{swedish}
  380.   {\vref@addto\extrasswedish{%
  381.      \def\reftextfaceafter {p\aa\ \reftextvario{motst\aa ende}%
  382.                                              {n\"{a}sta} sida}%
  383.      \def\reftextfacebefore{p\aa\ \reftextvario{motst\aa ende}%
  384.                                       {f\"{o}reg\aa ende} sida}%
  385.      \def\reftextafter     {p\aa\ \reftextvario{f\"{o}ljande}%
  386.                                             {n\"{a}sta} sida}%
  387.      \def\reftextbefore    {p\aa\ f\"{o}reg\aa ende sida}%
  388.      \def\reftextcurrent   {p\aa\ denna sida}%
  389.      \def\reftextfaraway#1{p\aa\ sidan~\pageref{#1}}%
  390.   }}
  391. \DeclareOption{turkish}
  392.   {\vref@excuse{turkish}%
  393.    \vref@addto\extrasturkish{%
  394.     \def\reftextfaceafter {on the \reftextvario{facing}{next} page}%
  395.     \def\reftextfacebefore{on the \reftextvario{facing}{preceding}
  396.                            page}%
  397.     \def\reftextafter     {on the \reftextvario{following}{next} page}%
  398.     \def\reftextbefore    {on the \reftextvario{preceding page}{page
  399.                            before}}%
  400.     \def\reftextcurrent   {on \reftextvario{this}{the current} page}%
  401.     \def\reftextfaraway#1{on page~\pageref{#1}}%
  402.   }}
  403. \DeclareOption{francais}{%
  404.    \typeout{Please use `french' instead of `francais'}%
  405.    \ExecuteOptions{french}}
  406. \DeclareOption{germanb}{%
  407.    \typeout{Please use `german' instead of `germanb'}%
  408.    \ExecuteOptions{german}}
  409. \ExecuteOptions{english}
  410. \ProcessOptions*
  411. \newcounter{vrcnt}
  412. \DeclareRobustCommand\vpageref{\@ifnextchar[%
  413.   \@vpageref{\@vpageref[\reftextcurrent]}%
  414. }
  415. \def\@vpageref[#1]{\@ifnextchar[%
  416.   {\@@vpageref{#1}}{\@@vpageref{#1}[\unskip\space]}}
  417. \def\@@vpageref#1[#2]#3{%
  418.   \leavevmode\unskip
  419.   \global\advance\c@vrcnt\@ne
  420.   \@ifundefined{r@\the\c@vrcnt @vr}%
  421.          {\@namedef{r@\the\c@vrcnt @vr}{{??}{??}}}{}%
  422.   \edef\@tempa{\expandafter\expandafter\expandafter
  423.                 \@cdr\csname r@\the\c@vrcnt @vr\endcsname
  424.                 \@nil}%
  425.   \@ifundefined{r@\the\c@vrcnt @xvr}%
  426.          {\@namedef{r@\the\c@vrcnt @xvr}{{??}{??}}}{}%
  427.   \edef\@tempb{\expandafter\expandafter\expandafter
  428.                 \@cdr\csname r@\the\c@vrcnt @xvr\endcsname
  429.                 \@nil}%
  430.   {\let\@currentlabel\@empty
  431.    \expandafter\label\expandafter{\the\c@vrcnt @xvr}}%
  432.   \ifx\@tempa\@tempb\else
  433.   \vref@err{\noexpand\vref at page boundary
  434.             \@tempb-\@tempa\space (may loop)%
  435.             }%
  436.   \fi
  437.   \@ifundefined{r@#3}{\@namedef{r@#3}{{??}{??}}}{}%
  438.   \edef\@tempb{\expandafter\expandafter\expandafter
  439.                 \@cdr\csname r@#3\endcsname
  440.                 \@nil}%
  441.   \space
  442.   \ifx\@tempa\@tempb
  443.     #1%
  444.   \else
  445.     #2%
  446.     \is@pos@number\@tempb
  447.        {%
  448.         \is@pos@number\@tempa
  449.          {\@tempcnta\@tempa
  450.           \advance\@tempcnta\@ne
  451.          }%
  452.          {\@tempcnta\maxdimen}%
  453.         \ifnum \@tempb =\@tempcnta
  454.          \ifodd\@tempcnta
  455.            \if@twoside
  456.              \reftextfaceafter
  457.            \else
  458.              \reftextafter
  459.            \fi
  460.          \else
  461.            \reftextafter
  462.          \fi
  463.         \else
  464.           \advance\@tempcnta-2
  465.           \ifnum \@tempb =\@tempcnta
  466.             \ifodd\@tempcnta
  467.               \reftextbefore
  468.             \else
  469.               \if@twoside
  470.                 \reftextfacebefore
  471.               \else
  472.                 \reftextbefore
  473.               \fi
  474.             \fi
  475.           \else
  476.             \reftextfaraway{#3}%
  477.           \fi
  478.         \fi
  479.        }%
  480.        {\reftextfaraway{#3}}%
  481.   \fi
  482.   {\let\@currentlabel\@empty
  483.    \expandafter\label\expandafter{\the\c@vrcnt @vr}}%
  484. }
  485. \def\vrefwarning{\def\vref@err{\PackageWarning{varioref}}}
  486. \def\vref@err#1{\PackageError{varioref}{#1}%
  487.     {Please check the pages in question. You might need to replace
  488.      the \string\vref\MessageBreak
  489.      or \noexpand\vpageref by a normal \noexpand\(page)ref to
  490.      stop LaTeX running forever.}}
  491. \DeclareRobustCommand\vref[1]{%
  492.   \unskip~\ref{#1}%
  493.   \@vpageref[\unskip]{#1}%
  494. }
  495. \def\is@pos@number#1{\is@pos@num0#1\space\@nil}
  496. \def\is@pos@num{\afterassignment\is@pos@num@ \count@}
  497. \def\is@pos@num@#1\@nil{%
  498.   \if0#10%
  499.     \expandafter\@firstoftwo \else
  500.     \expandafter\@secondoftwo  \fi}
  501. \def\reftextvario#1#2{\ifodd\c@vrcnt #1\else#2\fi}
  502. \def\fullref#1{\ref{#1} \reftextfaraway{#1}}
  503. \endinput
  504. %%
  505. %% End of file `varioref.sty'.
  506.